Data centers can be subdivided into physical suites, rows, and racks, and electrical power (“power”) can be budgeted for each subdivision. A server computing device (“server”) is typically a smallest computing unit in a data center. Multiple server computing devices can operate in a rack, which is a vertical collection of server computing devices. Multiple racks can be organized in rows, and multiple rows can be placed in a suite. Each suite can be associated with a main power unit, e.g., a power generation unit. To ensure that adequate power is supplied during a common or peak demand, the power can be “budgeted,” meaning that various configuration limits can be placed based on the available power. For example, the number of rows, racks, or servers that are in use at a particular time can be limited based on the available power. The budget may include a surplus allowance, e.g., to respond to unexpected surges in demand for power.
To ensure that the power draw does not exceed a budget for each subdivision, various circuit breakers (CBs) or other overcurrent protective devices (OPDs) may be placed in-line with the power supply. These OPDs can be triggered to switch off power when more power than expected is drawn. The amount of power that is supplied before the OPD is triggered to an off state can be a function of temperature: as temperature increases, the triggering current is reduced.
Servers can also be logically subdivided into “clusters,” that can perform tasks jointly or commonly with other servers in the same cluster. For example, data center operators can subdivide servers logically into clusters of application (e.g., “front end” web servers), database servers, caching servers, and so forth. These various “types” of servers may be configured with different hardware and/or software. For example, application servers may be configured with superior class of central processing units (CPUs) but reduced secondary storage space (e.g., hard disk drives, solid state drives, or other data storage devices) as compared to database servers. In contrast, caching servers may be configured with very fast solid state drives with a high amount of capacity. The various components of these different server configurations (e.g., CPU, data storage device, etc.) can consume different amounts of power.
Although data center operators, application developers, database administrators, and others may design a server infrastructure and distribute data in such a way that demand for server computing devices balanced across multiple servers in a cluster, there can be unexpected bursts of demand. As an example, in a social network application, although activity by users can be generally predicted with a reasonable degree of confidence, a burst of activity can occur, e.g., when celebrities post “updates” or otherwise engage with their fans. Failing to respond to such bursts of demand can cause various unintended overall degradation of performance. As an example, if a caching server is negatively impacted by a surge in demand, the performance degradation can impact many other servers and/or applications and services.
The Background section of this document is provided to place embodiments of the disclosed technology in technological and operational context to assist those of skill in the art in understanding their scope and utility. Unless explicitly identified as such, no statement herein is admitted to be prior art merely by its inclusion in the Background section.
The embodiments may be better understood by referring to the following Detailed Description in conjunction with the accompanying drawings, in which like reference numerals indicate identical or functionally similar elements: